#!/bin/sh
# $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
xinitdir=/etc/X11
sysresources=$xinitdir/Xresources
sysmodmap=$xinitdir/Xmodmap

# merge in defaults and keymaps

if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi

if [ -f $userresources ]; then
    xrdb -merge $userresources
fi

if [ -f $usermodmap ]; then
    xmodmap $usermodmap
fi

# First try ~/.xinitrc
if [ -f "$HOME/.xinitrc" ]; then
	XINITRC="$HOME/.xinitrc"
	if [ -x $XINITRC ]; then
		# if the x bit is set on .xinitrc
		# it means the xinitrc is not a
		# shell script but something else
		exec $XINITRC "$@"
	else
		exec /bin/sh "$HOME/.xinitrc" "$@"
	fi
fi

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
	for f in /etc/X11/xinit/xinitrc.d/?* ; do
		[ -x "$f" ] && . "$f"
	done
	unset f
fi

for p in startxfce4 startfluxbox xfce4-terminal \
		mrxvt urxvt st xterm; do
	command -v "$p" >/dev/null && exec "$p"
done
